#!/usr/bin/env python                                                                   
# -*- coding:utf-8 -*-                                                                  
                                                                                        
from itertools import chain
import pylab

from simulador.cenario import Cenario



def principal():  
    """
        1. Rodar para obter o número de eventos a descartar (fase transiente);
        2. Rodar com o valor obtido;
        3. Coletar as estatísticas.

        def: sistema fechado: população constante -> Lambda 0 e p = 1
    """
    eventos_transientes = 100000

    #n_rodadas: quando é 0, só temos a fase transiente
    n_rodadas = 0
    tam_rodadas = 100000

    dt = 0.5
    cenario1_1 = Cenario(lambida=0.1, b=1, mu=0.1, u=1, gamma=0.1, p=0, n0=0, n_rodadas=n_rodadas, tam_rodada=tam_rodadas, blocos_iniciais=0, eventos_transientes=eventos_transientes, filename='cenario1.pickle', dt=dt)
    cenario1_2 = Cenario(lambida=0.5, b=1, mu=0.1, u=1, gamma=0.1, p=0, n0=0, n_rodadas=n_rodadas, tam_rodada=tam_rodadas, blocos_iniciais=0, eventos_transientes=eventos_transientes, filename='cenario1.pickle', dt=dt)
    cenario1_3 = Cenario(lambida=0.9, b=1, mu=0.1, u=1, gamma=0.1, p=0, n0=0, n_rodadas=n_rodadas, tam_rodada=tam_rodadas, blocos_iniciais=0, eventos_transientes=eventos_transientes, filename='cenario1.pickle', dt=dt)

    cenario2_3 = Cenario(lambida=0.9, b=1, mu=0.1, u=1, gamma=0.1, p=0, n0=0, n_rodadas=n_rodadas, tam_rodada=tam_rodadas, blocos_iniciais=0, eventos_transientes=eventos_transientes, filename='cenario1.pickle', dt=dt)

    cenarios =  []
    cenarios.append(cenario1_1)
    cenarios.append(cenario1_2)
    cenarios.append(cenario1_3)

    for cenario in cenarios:
        cenario.run() 

if __name__ == '__main__':

    principal()
